macro show description,value
                repeat 1, d:value
                        display description,`d,13,10
                end repeat
        end macro

        show '2^64=',1 shl 64

The following example uses the combination of "load" and "store" to encrypt the entire contents 
of the current area with a simple "xor" operation:

        db "Text"
        key = 7Bh
        repeat $-$$
                load a : byte from $$+%-1
                store a xor key : byte at $$+%-1
        end repeat

If the final data of an area that has been modified by "store" needs to be read earlier in the source,
 it can be achieved by copying this data into a different area that would not be constrained in such way.
 This is analogous to defining a constant with a final value of some variable:

        load char : byte from const:0

        virtual
                var::
                db 'abc'
                .length = $
        end virtual

        store 'A' : byte at var:0

        virtual
                const::
                repeat var.length
                        load a : byte from var:%-1
                        db a
                end repeat
        end virtual

 The area label can be forward-referenced by "load", but it can never be forward-referenced by "store", 
even if it refers to the current output area.

The "virtual" instruction can have an existing area label as the only argument. 
This variant allows to extend a previously defined and closed block with additional data. 
The area label must refer to a block that was created earlier in the source with "virtual". 
Any definition of data within an extending block is going to have the same effect as if that definition
 was present in the original "virtual" block.

        virtual at 0 as 'log'
                Log::
        end virtual

        virtual Log
                db 'Hello!',13,10
        end virtual

If an area label is used in an expression, it forms a variable term of a linear polynomial.
The metadata of such term is the base address of the area. The metadata of an area label itself, accessible
 with "sizeof" operator, is equal to the current length of data within the area.

There is an additional variant of "load" and "store" directives that allows to read and modify already
 generated data in the output file given simply an offset within that output. This variant is recognized
 when the "at" or "from" keyword is followed by ":" character and then the value of an offset.

        checksum = 0
        repeat $%
                load a : byte from : %-1
                checksum = checksum + a
        end repeat
